package com.itrencai.d7_map;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.function.BiConsumer;

public class Mapbianli {
    public static void main(String[] args) {
        //1.添加元素，无序，不重复，无索引
        Map<String,Integer> maps=new HashMap<>();
        maps.put("iphoneX",10);
        maps.put("娃娃",31);
        maps.put("iphoneX",100);//Map集合后面重复的对象元素覆盖前面重复的那个元素
        maps.put("huawei",1000);
        maps.put("生活用品",10);
        maps.put("手表",10);
        System.out.println(maps);
        //{huawei=1000, 手表=10, 生活用品=10, iphoneX=100, 娃娃=31}

        //map集合遍历方法一：键找值
        //1.键找值，第一步：先拿到集合的全部键
        Set<String> keys = maps.keySet();
        //2.第二步，遍历每个键，根据键获取值
        for (String key : keys) {
            int value=maps.get(key);
            System.out.println(key+"==>"+value);
        }

        //map集合遍历方式二：键值对流程
        //1.把map集合转换成set集合
        Set<Map.Entry<String, Integer>> entries = maps.entrySet();
        //2.开始遍历
        for(Map.Entry<String, Integer>entry:entries){
            String key = entry.getKey();
            int value = entry.getValue();
            System.out.println(key+"==>"+value);
        }

        //map集合遍历方式三：lambda表达式
        maps.forEach(new BiConsumer<String, Integer>() {
            @Override
            public void accept(String k, Integer v) {
                System.out.println(k+"-->"+v);
            }
        });
        //简化版
        maps.forEach((key, value)->{System.out.println(key+"-->"+value);});






    }
}
